package com.silences.filter;


import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

// 过滤器（验证是否登录）
public class SessionFilter implements Filter {
    //过滤器初始化，服务器启动就会初始化
    @Override
    public void init(FilterConfig filterConfig) throws ServletException { }
    //在这个方法进行业务过滤
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        // 1 把servletRequest 转为 HttpRequest
        //   把servletResponse 转为 HttpResponse
        HttpServletRequest req = (HttpServletRequest)servletRequest;
        HttpServletResponse resp = (HttpServletResponse)servletResponse;
        // 2 获取请求路径
        String url=req.getRequestURI();
        // 3 判断包含login,要放行 使用 String 里面 containes 方法判断
//        if(url.contains("login") || url.contains(".jpeg") ||  url.contains(".jpg")|| url.contains(".png")
//             || url.contains("register") || url.contains("home")){
            filterChain.doFilter(req,resp); //放行
//        }else{
//            // 获取 session域保存用户名，(session 保存也是服务器保存周期跟服务器一样)
//            String username =(String) req.getSession().getAttribute("username");
//            if(username != null && username != ""){ //如果登录了，就放行
//                filterChain.doFilter(req,resp);
//            } else{  //如果没有登录过，就跳转登录界面
//                resp.sendRedirect("/Test/home.jsp");//respone.sendRedirect（） 重定向 //login.html
//            }
//        }
    }

    //过滤器销毁，服务器关闭时候就会销毁
    @Override
    public void destroy() {

    }
}
